<?php
{
    /**
     * Class LogHelper 日志助手
     */
    class LogHelper
    {
        #region 写入Info日志 Info
        /**
         * 写入Info日志
         * @param string $msg 信息内容
         * @param string $path 路径
         * @param int $line 行
         */
        public function Info($msg, $path = "", $line = -1)
        {
            if ($path == "" || $line = -1)
            {
                $this -> GetPathAndLine($path, $line);
            }
            $fileDir = APP_PATH . "Logs/Info/";
            if (!is_dir($fileDir))
            {
                mkdir($fileDir, 0777, true);
            }
            $fileName = date("Y-m-d") . ".txt";
            $filePath = $fileDir . $fileName;
            $dateTime = new DateTime();
            // 日期 路径 行号 信息
            $msg = $dateTime -> format("Y-m-d H:i:s") . "\t" . $path . "\t" . $line . "\t" . $msg . "\r\n";
            file_put_contents($filePath, $msg, FILE_APPEND);
        }
        #endregion

        #region 读取触发路径及行 GetPathAndLine
        /**
         * 读取触发路径及行
         * @param $path
         * @param $line
         */
        private function GetPathAndLine(&$path, &$line)
        {
            $debugs = debug_backtrace();
            if ($path == "")
            {
                $tempPath = $debugs[1]["file"];
                $tempPath = str_replace("\\", "/", $tempPath);
                $path = "/" . str_replace(APP_PATH, "", $tempPath);
            }

            if ($line == -1)
            {
                $line = $debugs[1]["line"];
            }
        }
        #endregion
    }
}
?>